﻿namespace ciji.Application;

public interface ISysCacheService
{
    void AddCacheKey(string cacheKey);

    void DelByPattern(string key);

    void DelCacheKey(string cacheKey);

    bool Exists(string cacheKey);

    List<string> GetAllCacheKeys();

    T Get<T>(string cacheKey);

    string GetString(string cacheKey);

    void Remove(string key);

    void SetObject(string cacheKey, object value);

    void SetObject(string cacheKey, object value, TimeSpan expire);

    void SetString(string cacheKey, string value);

    void SetString(string cacheKey, string value, TimeSpan expire);


    List<string> GetPermission(string userId);

    void SetPermission(string userId, List<string> permissions);
    void ClearPermission(string userId);

    void SetTokenChange(string userId);


}